var express = require('express')
var fs = require('fs');
var path = require('path');

var app = express()

app.use(express.static('static'))

app.use(express.json())
app.use(express.urlencoded({ extended: false }))
app.get('/user/list', (req, res) => {
    var { page, count } = req.query;

    var filepath = path.join(__dirname, './json/users.json');
    var arr = fs.readFileSync(filepath);
    arr = arr.toString() ? JSON.parse(arr) : [];

    var newarr = arr.slice((page - 1) * count, page * count);
    res.send({ code: 200, msg: '请求成功!', list: newarr })
})
// 搜索
app.get('/user/search', (req, res) => {
    var { searchkey } = req.query;
    var filepath = path.join(__dirname, './json/users.json');
    var arr = fs.readFileSync(filepath);
    arr = arr.toString() ? JSON.parse(arr) : [];

    var newarr = arr.filter((item) => {
        return new RegExp(searchkey).test(item.phone)
    })
    res.send({ code: 200, msg: '查询成功', list: newarr })
})
// 登录
app.post('/user/login', (req, res) => {
    var { phone, pass } = req.body;

    var filepath = path.join(__dirname, './json/users.json');
    var arr = fs.readFileSync(filepath);
    arr = arr.toString() ? JSON.parse(arr) : [];

    var i = arr.findIndex((item, index) => {
        return item.phone == phone && item.pass == pass
    })
    if (i != -1) {
        res.send({ code: 200, msg: '登陆成功', userinfo: arr[i], token: '' })
    } else {
        res.send({ code: 400, msg: '登陆失败' })
    }
})
// 注册
app.post('/user/register', (req, res) => {
    var { phone } = req.body;

    var filepath = path.join(__dirname, './json/users.json');
    var arr = fs.readFileSync(filepath);
    arr = arr.toString() ? JSON.parse(arr) : [];

    var i = arr.findIndex((item) => {
        return item.phone == phone
    })
    if (i != -1) {
        res.send({ code: 400, msg: '该手机号已注册' })
    } else {
        arr.push({ ...req.body, ingroup: '董事长', isadmin: true, status: true })
        fs.writeFileSync(filepath, JSON.stringify(arr), 'utf8');
        res.send({ code: 200, msg: '注册成功!' })
    }
})
// 删除
app.post('/user/delete', (req, res) => {
    var { phone } = req.body;

    var filepath = path.join(__dirname, './json/users.json');
    var arr = fs.readFileSync(filepath);
    arr = arr.toString() ? JSON.parse(arr) : []
    console.log(arr);

    var i = arr.findIndex((item) => {
        return item.phone == phone;
    })

    if (i != -1) {
        arr.splice(i, 1);
        fs.writeFileSync(filepath, JSON.stringify(arr), 'utf8');

        var newarr = arr.slice(0, 4);

        res.send({ code: 200, msg: '删除成功!', list: newarr })
    } else {
        res.send({ code: 400, msg: '删除失败!' })
    }
})
app.listen(8888, () => {
    console.log('服务端运行在: http://localhost:8888');
})